Ik wil een remote branch niet hernoemen, zoals beschreven in Rename master branch voor zowel lokale als remote Git repositories. Hoe kan ik een lokale branch hernoemen die niet naar een remote branch is gepusht? In het geval dat je ook een remote branch moet hernoemen: Hoe hernoem ik zowel een lokale Git als een remote branch naam
2020-12-07 21:26:24
1 2 De volgende Als je een branch wilt hernoemen terwijl deze naar een branch wordt verwezen, doe dan: git branch -mAls je de huidige branch wilt hernoemen, kun je het volgende doen: git branch -m Een manier om dit te onthouden is -m is voor "move" (of mv), dat is hoe je bestanden hernoemt. Het toevoegen van een alias kan ook helpen. Voer hiervoor het volgende uit: git config --global alias.rename 'branch -m' Als je op Windows of een ander hoofdletter-ongevoelig bestandssysteem zit, en er zijn alleen wijzigingen in hoofdletters in de naam, dan moet je -M gebruiken, anders zal git de vertakking al gooien fout: git branch -M | git branch -m oude_branchennaam nieuwe_branchennaam Het bovenstaande commando zal je branch-naam veranderen, maar je moet heel voorzichtig zijn met het gebruik van de hernoemde branch, omdat het nog steeds zal verwijzen naar de oude upstream branch die ermee geassocieerd is, indien aanwezig. Als je enkele wijzigingen naar master wilt pushen nadat je lokale branch is hernoemd naar new_branch_name (voorbeeldnaam): git push origin new_branch_name: master (nu gaan de wijzigingen naar de master branch maar de naam van je lokale branch is new_branch_name) Voor meer details, zie "Hoe je de naam van je lokale branch in Git kunt hernoemen." | Om uw huidige branch te hernoemen: git branch -m | Hier zijn de stappen om de vertakking te hernoemen: Schakel over naar de branch die hernoemd moet worden git branch -m git push oorsprong: git push origin : refs / heads / EDIT (12/01/2017): Zorg ervoor dat je het commando git status uitvoert en controleer of de nieuw aangemaakte branch naar zijn eigen ref verwijst en niet naar de oudere. Als je de verwijzing naar de oudere branch vindt, moet je de upstream uitschakelen met: git branch --unset-upstream | Het hernoemen van de branch zal handig zijn als je branch klaar is. Dan komen er nieuwe dingen, en je wilt ontwikkelen in dezelfde branch in plaats van het te verwijderen en de nieuwe aan te maken. Uit mijn ervaring moet je de volgende stappen uitvoeren om een lokale en een externe branch in Git te hernoemen. Citeren uit meerdere staten - Hernoem een lokale en externe vestiging in git 1. Hernoem uw lokale vestiging Als je op de branch bent die je wilt hernoemen: git branch -m nieuwe-naam Als u zich in een andere vestiging bevindt: git branch -m oude-naam nieuwe-naam 2. Verwijder de oude naam remote branch en push de nieuwe naam lokale branch git push oorsprong: oude-naam nieuwe-naam 3. Reset de upstream-vertakking voor de nieuwe naam van de lokale tak git push oorsprong -u nieuwe-naam | De antwoorden tot nu toe waren correct, maar hier is wat aanvullende informatie: Men kan een branch veilig hernoemen met '-m' (move), maar men moet voorzichtig zijn met '-M', omdat het de hernoeming afdwingt, zelfs als er al een bestaande branch is met dezelfde naam. Hier is het fragment van de 'git-branch' man-pagina: Met een -m of -M optie, zal hernoemd worden naar . Als een corresponderende reflog had, wordt deze hernoemd om overeen te komen met , en wordt er een reflog-item gemaakt om de hernoeming van de branch te onthouden. Als bestaat, moet -M worden gebruikt om het hernoemen te forceren. | 1. Hernoemen Als het je huidige branch is, doe dat dan gewoon git branch -m nieuwe_naam Als het een andere branch is die u wilt hernoemen git branch -m oude_naam nieuwe_naam 2. Volg een nieuw filiaal op afstand - Als je branch werd gepusht, dan moet je deze na het hernoemen verwijderen uit de remote Git repository en je nieuwe local vragen om een nieuwe remote branch te volgen: git push oorsprong: oude_naam git push --set-upstream oorsprong nieuwe_naam | Ik heb dwaas een branch een naam gegeven die begint met een koppelteken, en vervolgens master uitgecheckt. Ik wilde mijn filiaal niet verwijderen, ik had er werk in. Geen van beide werkte: git checkout -dumb-naam git checkout - -dumb-naam "s, 's en \ s hielpen ook niet. git branch -m werkt niet. Hier is hoe ik het eindelijk heb opgelost. Ga naar de .git / refs / heads van je werkkopie, zoek de bestandsnaam "-dumb-name" en haal de hash van de branch op. Dit zal het dan controleren, een nieuwe branch met een normale naam maken en de oude verwijderen. git checkout {hash} git checkout -b brilliant-name git branch -d - -dumb-naam | Om een filiaal lokaal te hernoemen: git branch -m [oude-branch] [nieuwe-branch] Nu moet u deze wijzigingen ook op uw externe server doorgeven. Wijzigingen van de verwijderde oude branch pushen: git push oorsprong: [old-branch] Om wijzigingen van het aanmaken van een nieuwe branch te pushen: git push oorsprong [new-branch] | Slechts drie stappen om de naamswijziging zowel op afstand als op GitHub te repliceren: Stap 1 git branch -m oude_branchnaam nieuwe_branchnaam Stap 2 git push oorsprong: oude_branchnaam nieuwe_branchnaam Stap 3 git push --set-upstream oorsprong new_branchname | Hernoem de branch met behulp van deze opdracht: git branch -m [oude_branchennaam] [nieuwe_branchennaam] -m: Het hernoemt / verplaatst de branch. Als er al een branch is, krijgt u een foutmelding. Als er al een branch is en je wilt de naam met die branch wijzigen, gebruik dan: git hernoemen -M [oude_branchennaam] [nieuwe_branchennaam] Gebruik deze opdracht in de terminal voor meer informatie over hulp: git branch --help of man gitAfdeling | Geavanceerde Git-gebruikers kunnen handmatig hernoemen met: Hernoem de oude branch onder .git / refs / heads naar de nieuwe naam Hernoem de oude branch onder .git / logs / refs / heads naar de nieuwe naam Werk het .git / HEAD bij zodat het naar je nieuwe filiaalnaam verwijst | Hernoem uw lokale vestiging. Als je op de branch bent die je wilt hernoemen: git branch -m nieuwe-naam Als u zich in een andere vestiging bevindt: git branch -m oude-naam nieuwe-naam Verwijder de oude naam remote branch en push de nieuwe naam lokale branch. git push oorsprong: oude-naam nieuwe-naam Reset de upstream branch voor de nieuwe naam lokale branch. Schakel over naar het filiaal en dan: git push oorsprong -u nieuwe-naam Of voor een snelle manier om dat te doen, kunt u deze 3 stappen gebruiken: # Hernoem de branch lokaal git branch -m oude_tak nieuwe_tak # Verwijder de oude remote branch git push oorsprong: old_branch # Push de nieuwe branch, stel de lokale branch in om de nieuwe remote te volgen git push --set-upstream oorsprong new_branch Verwijzing: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html | Hier zijn drie stappen: Een commando dat u in uw terminal kunt bellen en de filiaalnaam kunt wijzigen. git branch -m old_branch new_branch # Hernoem de branch lokaal git push origin: old_branch # Verwijder de oude branch git push --set-upstream origin new_branch # Push de nieuwe branch, stel de lokale branch in om de nieuwe remote te volgen Als je meer nodig hebt: stap voor stap, hoe je Git Branch Name kunt wijzigen is daar een goed artikel over. | Zoals door anderen is vermeld, zal dit waarschijnlijk een mismatch zijn in de naamgeving van de branche. Als u zich in een dergelijke situatie bevindt, kan ik raden dat u Windows gebruikt, wat u ook zal leiden naar: $ git branch -m CaseSensitive hoofdlettergevoelig fataal: er bestaat al een branch met de naam 'caseensitive'. Dan moet je een tussenstap doen: $ git branch -m tijdelijk $ git branch -m hoofdlettergevoelig Niets meer. | Specifiek proberen te antwoorden op de vraag (in ieder geval de titel). U kunt ook de naam van de lokale branch wijzigen, maar blijft de oude naam op de afstandsbediening volgen. git branch -m oude_tak nieuwe_tak git push --set-upstream oorsprong new_branch: old_branch Als je nu git push uitvoert, wordt de remote old_branch ref bijgewerkt met je lokale new_branch. U moet deze configuratie kennen en onthouden. Maar het kan handig zijn als je geen keuze hebt voor de naam van de remote branch, maar je vindt het niet leuk (oh, ik bedoel, je hebt een hele goede reden om het niet leuk te vinden!) En je liever een duidelijkere naam voor uw lokale vestiging. Als je met de fetch-configuratie speelt, kun je zelfs de lokale externe referentie hernoemen. d.w.z. met een refs / remote / origin / new_branch ref pointer naar de branch, dat is in feite de old_branch op oorsprong. Ik raad dit echter ten zeerste af, voor de veiligheid van uw geest. | Lokaal van filiaal wisselen is vrij eenvoudig ... Als u zich op de tak bevindt waarvoor u de naam wilt wijzigen, doet u dit eenvoudig: git branch -m my_new_branch Anders, als u zich op master of een andere branch bevindt, anders dan degene waarvan u de naam wilt wijzigen, doet u gewoon: git branch -m my_old_branch my_new_branch Ik maak ook de onderstaande afbeelding om dit in actie op een opdrachtregel te laten zien. In dit geval bevindt u zich in de master branch, bijvoorbeeld: | Als je SourceTree wilt gebruiken (wat ik sterk aanbeveel), kun je met de rechtermuisknop op je branch klikken en 'Rename' kiezen. | Om de huidige branch te hernoemen (behalve de ontkoppelde HEAD-status) kun je ook deze alias gebruiken: [alias] mvh =! sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $ 1' | Een andere optie is om de opdrachtregel helemaal niet te gebruiken. Git GUI-clients zoals SourceTree nemen veel van de syntactische leercurve / pijn weg die ervoor zorgt dat vragen zoals deze tot de meest bekeken op Stack Overflow behoren. Klik in SourceTree met de rechtermuisknop op een lokale branch in het "Branches" -venster aan de linkerkant en selecteer "Rename ...". | Een eenvoudige manier om het te doen: git branch -m old_branch new_branch # Hernoem de branch lokaal git push origin: old_branch # Verwijder de oude branch git push --set-upstream origin new_branch # Push de nieuwe branch, stel de lokale branch in om de nieuwe remote te volgen Zie dit voor meer informatie. | Aangezien je de branch niet naar een externe server wilt pushen, is dit voorbeeld handig: Laten we zeggen dat je een bestaande branch hebt met de naam "my-hot-feature", en je wilt deze hernoemen naar "feature-15". Ten eerste wilt u uw lokale vestiging wijzigen. Dit kan niet eenvoudiger: git branch -m my-hot-feature feature-15 Voor meer informatie kun je lokaal en op afstand een branch hernoemen in Git bezoeken. | Git versie 2.9.2 Als u de naam wilt wijzigen van de lokale vestiging waar u zich bevindt: git branch -m nieuwe_naam Als je de naam van een andere branch wilt wijzigen: git branch -m oude_naam nieuwe_naam Als je de naam van een andere branch wilt veranderen in een naam die al bestaat: git branch -M oude_naam nieuwe_naam_dat_al_ reeds_ bestaat Opmerking: het laatste commando is destructief en zal je branch hernoemen, maar je verliest de oude branch met die naamen die commits omdat branch-namen uniek moeten zijn. | Als je de naam van de huidige branch wilt veranderen, voer je uit: git branch -m [oude_tak] [nieuwe_tak] Als je de oude remote branch wilt verwijderen, voer je uit: git push oorsprong: [old_branch] Als je de oude remote branch wilt verwijderen en een nieuwe remote branch wilt maken, voer je het volgende uit: git push oorsprong: old_branch new_branch | Eigenlijk heb je drie stappen omdat de lokale vestiging een duplicaat op de server heeft, dus we hebben één stap voor lokaal op twee stappen op de server: Rename local: gebruik gewoon het volgende commando om je huidige branch te hernoemen, zelfs als je hem uitgecheckt hebt: git branch -m Verwijder de server: gebruik de volgende opdracht om de oude naamtak op de server te verwijderen: git push : Push de nieuwe: nu is het tijd om de nieuwe branch genaamd op de server te pushen: git push -u | Git branch hernoemen kan gedaan worden door gebruik te maken van: git branch -m oldBranch newBranch git branch -M oldBranch ExistingBranch Het verschil tussen -m en -M: -m: als je probeert je branch te hernoemen met een bestaande branch-naam met -m. Het geeft een foutmelding dat de branch al bestaat. U moet een unieke naam opgeven. Maar, -M: dit zal u helpen om hernoemen met een bepaalde naam te forceren, zelfs als deze bestaat. Dus een bestaande branch zal er volledig mee overschrijven ... Hier is een voorbeeld van een Git-terminal, mohideen @ dev: ~ / project / mijnapp / sunithamakeup $ git branch meester meester0 nieuwe_master test * test1 mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -m test1 test fataal: er bestaat al een branch met de naam 'test'. mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -M test1 test mohideen @ dev: ~ / project / mijnapp / sunithamakeup $ git branch meester meester0 nieuwe_master * test mohideen @ dev: ~ / project / mijnapp / sunithamakeup $ | Voor Git GUI-gebruikers kan het niet veel eenvoudiger zijn. In Git GUI, kies de branch naam uit de vervolgkeuzelijst in het "Rename Branch" dialoogvenster gemaakt vanuit het menu item Branch: Rename, typ een nieuwe naam en klik op "Rename". Ik heb aangegeven waar ik de vervolgkeuzelijst kan vinden. | Alle voorgaande antwoorden hebben het over git branch -m. Het is natuurlijk gemakkelijk te bedienen, maar voor mij kan het een beetje moeilijk zijn om een ander Git-commando te onthouden. Dus ik probeerde het werk gedaan te krijgen door het commando dat ik kende. Ja, je raadt het misschien. Ik gebruik git branch -b . En als je de oude branch nu niet wilt opslaan, kun je git branch -D uitvoeren om het te verwijderen. Ik weet dat het misschien een beetje vervelend is, maar het is gemakkelijker te begrijpen en te onthouden. Ik hoop dat het nuttig voor je is. | Als je wilt: Hernoem de Git-repository, voer uit: git branch -m Verwijder de oude branch door: git push origin: oude-naam nieuwe-naam Leg het vast met behulp van: git commit en vervolgens pushen met behulp van: git push origin new_branch_name: master Als je de status wilt controleren, gebruik dan: git status Als je wilt uitchecken, gebruik dan: git checkout | Voordat we beginnen, zorg ervoor dat je de branch hebt geselecteerd die je wilt hernoemen: git checkout oude naam Als je al je lokale branches wilt zien, gebruik dan het volgende commando: git branch --list Volg deze stappen als alles duidelijk is: Het gebruik van het Git hernoemen branch commando vereist dat je een -m optie aan je commando toevoegt: git branch -m nieuwe-naam Je kunt ook een lokale branch van een andere branch hernoemen door de volgende twee commando's te gebruiken: git checkout master git branch -m oude-naam nieuwe-naam Ten slotte zal dit commando alle - zowel lokale als externe - branches weergeven om te verifiëren dat het hernoemd is: git branch -a Hoewel het niet mogelijk is om een vertakking op afstand rechtstreeks te hernoemen, omvat het proces van het hernoemen van een vertakking deze drie eenvoudige stappen: Om te beginnen moet u de naam van een lokale branch wijzigen door de voorgaande stappen te volgen. 2.Verwijder vervolgens de oude branch en druk op de nieuwe. U kunt dit eenvoudig doen met de volgende opdrachten: git push origin --delete old-name git push oorsprong: oude-naam nieuwe-naam Reset de upstream branch voor je nieuwe lokale branch en je bent helemaal klaar: git push oorsprong -u nieuwe-naam | 1 2 De volgende Zeer actieve vraag. Verdien 10 reputatie om deze vraag te beantwoorden. De reputatievereiste helpt deze vraag te beschermen tegen spam en niet-beantwoording. Niet het antwoord waar je naar zoekt? Blader door andere vragen met de tag git version-control git-branch of stel je eigen vraag.